package com.gxs.tga.poc.rest.common;

import java.io.Serializable;

import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;

import org.json.simple.JSONObject;

public class TgaRestResponse implements Serializable
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private int statusCode;
	private String statusMessage;
	private int internalErrorCode = -1;
	private String internalErrorDetails = "N/A";
	private Object targetResource;
	private String targetResourceRefId;
	private String targetResourcePKAttributeName;
	
	public TgaRestResponse(int statusCode, String statusMessage)
	{	
		this.statusCode = statusCode;
		this.statusMessage = statusMessage;
	}

	public TgaRestResponse(int statusCode, String statusMessage, int internalErrorCode)
	{
		this.statusCode = statusCode;
		this.statusMessage = statusMessage;
		this.internalErrorCode = internalErrorCode;
	}

	public TgaRestResponse(int statusCode, String statusMessage, int internalErrorCode, String internalErrorDetails)
	{
		this.statusCode = statusCode;
		this.statusMessage = statusMessage;
		this.internalErrorCode = internalErrorCode;
		this.internalErrorDetails = internalErrorDetails;
	}
	
	public int getStatusCode()
	{
		return statusCode;
	}
	public void setStatusCode(int statusCode)
	{
		this.statusCode = statusCode;
	}
	public String getStatusMessage()
	{
		return statusMessage;
	}
	public void setStatusMessage(String statusMessage)
	{
		this.statusMessage = statusMessage;
	}
	public int getInternalErrorCode()
	{
		return internalErrorCode;
	}
	public void setInternalErrorCode(int internalErrorCode)
	{
		this.internalErrorCode = internalErrorCode;
	}

	public String getInternalErrorDetails()
	{
		return internalErrorDetails;
	}

	public void setInternalErrorDetails(String internalErrorDetails)
	{
		this.internalErrorDetails = internalErrorDetails;
	}

	public Object getTargetResource()
	{
		return targetResource;
	}

	public void setTargetResource(Object targetResource)
	{
		this.targetResource = targetResource;
	}

	public String getTargetResourceRefId()
	{
		return targetResourceRefId;
	}

	public void setTargetResourceRefId(String targetResourceRefId)
	{
		this.targetResourceRefId = targetResourceRefId;
	}

	public String getTargetResourcePKAttributeName()
	{
		return targetResourcePKAttributeName;
	}

	public void setTargetResourcePKAttributeName(String targetResourcePKAttributeName)
	{
		this.targetResourcePKAttributeName = targetResourcePKAttributeName;
	}


}
